#!/usr/bin/env node

class  EventEmitter{
    constructor() {
        this.#listeners = {};
    }
    on(evtName,cb) {//on(事件名称，回调)
        if(typeof this.#listeners[evtName] === 'undefined') {
            this.#listeners[evtName] =[];
        }
        this.#listeners[evtName].push(cb);
    };
    emit(evtName) {
        for(let i = 0;i<this.#listeners[evtName].length;i++) {
            this.#listeners[evtName][i]();
        }
    };

    #listeners = null;
}

// {
//     'evt1':[cb1,cb2,...],
//     'evt2':[],
// }

module.exports = {EventEmitter};